<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- For Mobile Devices -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
        <meta name="generator" content="Doxygen 1.8.18"/>
        <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
        <title>HElib: helib::Ptxt Class Reference</title>
        <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
        <script type="text/javascript" src="dynsections.js"></script>
        <link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
        <link href="doxygen.css" rel="stylesheet" type="text/css" />
        <link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
        <link href='https://fonts.googleapis.com/css?family=Roboto+Slab' rel='stylesheet' type='text/css'>
		<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;1,700&family=Merriweather&family=Merriweather+Sans&family=Open+Sans&family=Poppins:ital@1&family=Roboto:ital,wght@0,400;1,300;1,900&display=swap" rel="stylesheet"> 
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        <link href="jquery.smartmenus.bootstrap.css" rel="stylesheet">
        <script type="text/javascript" src="jquery.smartmenus.js"></script>
        <!-- SmartMenus jQuery Bootstrap Addon -->
        <script type="text/javascript" src="jquery.smartmenus.bootstrap.js"></script>
        <!-- SmartMenus jQuery plugin -->
    </head>
    <body style="font-family: 'Merriweather', serif;">
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand">HElib Implementing Homomorphic Encryption</a>
                </div>
            </div>
        </nav>
        <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
            <div class="content" id="content">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-12 panel " style="padding-bottom: 15px;">
                            <div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacehelib.html">helib</a></li><li class="navelem"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classhelib_1_1_ptxt-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">helib::Ptxt Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>An object that mimics the functionality of the <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code> object, and acts as a convenient entry point for inputting/encoding data which is to be encrypted.  
 <a href="classhelib_1_1_ptxt.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_ctxt_8h_source.html">Ctxt.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a208b1ed55bce96f126191cb7a39b92e7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> = typename Scheme::SlotType</td></tr>
<tr class="memdesc:a208b1ed55bce96f126191cb7a39b92e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for type to be stored in the slots.  <a href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">More...</a><br /></td></tr>
<tr class="separator:a208b1ed55bce96f126191cb7a39b92e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab38174daa0112a946ccbd93b599b3a4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ab38174daa0112a946ccbd93b599b3a4f">Ptxt</a> ()</td></tr>
<tr class="memdesc:ab38174daa0112a946ccbd93b599b3a4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor results in invalid <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object which throws if used.  <a href="classhelib_1_1_ptxt.html#ab38174daa0112a946ccbd93b599b3a4f">More...</a><br /></td></tr>
<tr class="separator:ab38174daa0112a946ccbd93b599b3a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac34ee5c8a8c3341cd97b57345aee7f84"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ac34ee5c8a8c3341cd97b57345aee7f84">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context)</td></tr>
<tr class="memdesc:ac34ee5c8a8c3341cd97b57345aee7f84"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a> only constructor, defaults all slots to <code>0</code>.  <a href="classhelib_1_1_ptxt.html#ac34ee5c8a8c3341cd97b57345aee7f84">More...</a><br /></td></tr>
<tr class="separator:ac34ee5c8a8c3341cd97b57345aee7f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a063d478ac57438d9434921967313f474"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a063d478ac57438d9434921967313f474">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;value)</td></tr>
<tr class="memdesc:a063d478ac57438d9434921967313f474"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single slot constructor, set all slots to <code>value</code>.  <a href="classhelib_1_1_ptxt.html#a063d478ac57438d9434921967313f474">More...</a><br /></td></tr>
<tr class="separator:a063d478ac57438d9434921967313f474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5550960308d217de80a149432acb6aa"><td class="memTemplParams" colspan="2">template&lt;typename U  = Scheme, std::enable_if_t&lt; std::is_same&lt; U, BGV &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:af5550960308d217de80a149432acb6aa"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af5550960308d217de80a149432acb6aa">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const NTL::ZZX &amp;value)</td></tr>
<tr class="memdesc:af5550960308d217de80a149432acb6aa"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> plaintext polynomial constructor, set all slots to the <code>value</code> polynomial.  <a href="classhelib_1_1_ptxt.html#af5550960308d217de80a149432acb6aa">More...</a><br /></td></tr>
<tr class="separator:af5550960308d217de80a149432acb6aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acba1c7e7d92aa7a31b555046fa39f4b3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#acba1c7e7d92aa7a31b555046fa39f4b3">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;data)</td></tr>
<tr class="memdesc:acba1c7e7d92aa7a31b555046fa39f4b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slot vector constructor.  <a href="classhelib_1_1_ptxt.html#acba1c7e7d92aa7a31b555046fa39f4b3">More...</a><br /></td></tr>
<tr class="separator:acba1c7e7d92aa7a31b555046fa39f4b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7b37d52345b0cfab052227e43278f28"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:af7b37d52345b0cfab052227e43278f28"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af7b37d52345b0cfab052227e43278f28">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const std::vector&lt; T &gt; &amp;data)</td></tr>
<tr class="memdesc:af7b37d52345b0cfab052227e43278f28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic slot vector constructor.  <a href="classhelib_1_1_ptxt.html#af7b37d52345b0cfab052227e43278f28">More...</a><br /></td></tr>
<tr class="separator:af7b37d52345b0cfab052227e43278f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f4c6a71ce9e9976e72a77f6c3175114"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a2f4c6a71ce9e9976e72a77f6c3175114">Ptxt</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;other)=default</td></tr>
<tr class="memdesc:a2f4c6a71ce9e9976e72a77f6c3175114"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default copy constructor.  <a href="classhelib_1_1_ptxt.html#a2f4c6a71ce9e9976e72a77f6c3175114">More...</a><br /></td></tr>
<tr class="separator:a2f4c6a71ce9e9976e72a77f6c3175114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4568bc2e02b7dc906568f2c7c7eaaa8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ac4568bc2e02b7dc906568f2c7c7eaaa8">Ptxt</a> (<a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&amp;other) noexcept=default</td></tr>
<tr class="memdesc:ac4568bc2e02b7dc906568f2c7c7eaaa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move constructor.  <a href="classhelib_1_1_ptxt.html#ac4568bc2e02b7dc906568f2c7c7eaaa8">More...</a><br /></td></tr>
<tr class="separator:ac4568bc2e02b7dc906568f2c7c7eaaa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af20f43e81e6e83711e6a2f877c5d976e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af20f43e81e6e83711e6a2f877c5d976e">operator=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;v)=default</td></tr>
<tr class="memdesc:af20f43e81e6e83711e6a2f877c5d976e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy assignment operator with other <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#af20f43e81e6e83711e6a2f877c5d976e">More...</a><br /></td></tr>
<tr class="separator:af20f43e81e6e83711e6a2f877c5d976e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e4cb8d393da906329f6a591d399a346"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a2e4cb8d393da906329f6a591d399a346">operator=</a> (<a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&amp;v) noexcept=default</td></tr>
<tr class="memdesc:a2e4cb8d393da906329f6a591d399a346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment operator with other <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#a2e4cb8d393da906329f6a591d399a346">More...</a><br /></td></tr>
<tr class="separator:a2e4cb8d393da906329f6a591d399a346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71edaa17612629ec56220ea022202016"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a71edaa17612629ec56220ea022202016">~Ptxt</a> ()=default</td></tr>
<tr class="memdesc:a71edaa17612629ec56220ea022202016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="classhelib_1_1_ptxt.html#a71edaa17612629ec56220ea022202016">More...</a><br /></td></tr>
<tr class="separator:a71edaa17612629ec56220ea022202016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc3c98383082db58d8980e4d4ad5aa49"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#adc3c98383082db58d8980e4d4ad5aa49">isValid</a> () const</td></tr>
<tr class="memdesc:adc3c98383082db58d8980e4d4ad5aa49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> is valid.  <a href="classhelib_1_1_ptxt.html#adc3c98383082db58d8980e4d4ad5aa49">More...</a><br /></td></tr>
<tr class="separator:adc3c98383082db58d8980e4d4ad5aa49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a892c7c40f3029f29b4ed0bbd633301d8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a892c7c40f3029f29b4ed0bbd633301d8">size</a> () const</td></tr>
<tr class="memdesc:a892c7c40f3029f29b4ed0bbd633301d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size (number of slots) of a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#a892c7c40f3029f29b4ed0bbd633301d8">More...</a><br /></td></tr>
<tr class="separator:a892c7c40f3029f29b4ed0bbd633301d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d6d5db3059090134312fecefc468da"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a39d6d5db3059090134312fecefc468da">lsize</a> () const</td></tr>
<tr class="memdesc:a39d6d5db3059090134312fecefc468da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size (number of slots) of a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> as <code>long</code>.  <a href="classhelib_1_1_ptxt.html#a39d6d5db3059090134312fecefc468da">More...</a><br /></td></tr>
<tr class="separator:a39d6d5db3059090134312fecefc468da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac29a900263dbba14e9a48e651b9159"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a1ac29a900263dbba14e9a48e651b9159">setData</a> (const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;data)</td></tr>
<tr class="memdesc:a1ac29a900263dbba14e9a48e651b9159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data.  <a href="classhelib_1_1_ptxt.html#a1ac29a900263dbba14e9a48e651b9159">More...</a><br /></td></tr>
<tr class="separator:a1ac29a900263dbba14e9a48e651b9159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ff66432c893d5af08e11151d532ab6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a1ff66432c893d5af08e11151d532ab6c">setData</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;value)</td></tr>
<tr class="memdesc:a1ff66432c893d5af08e11151d532ab6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data replicating the input on all slots.  <a href="classhelib_1_1_ptxt.html#a1ff66432c893d5af08e11151d532ab6c">More...</a><br /></td></tr>
<tr class="separator:a1ff66432c893d5af08e11151d532ab6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84591d6e8b595b82e67e5f5968638228"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, typename std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:a84591d6e8b595b82e67e5f5968638228"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a84591d6e8b595b82e67e5f5968638228">setData</a> (const NTL::ZZX &amp;value)</td></tr>
<tr class="memdesc:a84591d6e8b595b82e67e5f5968638228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> data replicating the input polynomial on all slots.  <a href="classhelib_1_1_ptxt.html#a84591d6e8b595b82e67e5f5968638228">More...</a><br /></td></tr>
<tr class="separator:a84591d6e8b595b82e67e5f5968638228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6089a4133bf1b54676a70ea49e89d20e"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, typename std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:a6089a4133bf1b54676a70ea49e89d20e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a6089a4133bf1b54676a70ea49e89d20e">decodeSetData</a> (const NTL::ZZX &amp;data)</td></tr>
<tr class="memdesc:a6089a4133bf1b54676a70ea49e89d20e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> slots using values from decoding <code>data</code> to slot representation.  <a href="classhelib_1_1_ptxt.html#a6089a4133bf1b54676a70ea49e89d20e">More...</a><br /></td></tr>
<tr class="separator:a6089a4133bf1b54676a70ea49e89d20e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47b64faee8b052ccccda7df6a5fa0a22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a47b64faee8b052ccccda7df6a5fa0a22">clear</a> ()</td></tr>
<tr class="memdesc:a47b64faee8b052ccccda7df6a5fa0a22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets all slots to <code>0</code>.  <a href="classhelib_1_1_ptxt.html#a47b64faee8b052ccccda7df6a5fa0a22">More...</a><br /></td></tr>
<tr class="separator:a47b64faee8b052ccccda7df6a5fa0a22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e771f1be21da0f50d6df0a2a541e568"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a8e771f1be21da0f50d6df0a2a541e568">random</a> ()</td></tr>
<tr class="memdesc:a8e771f1be21da0f50d6df0a2a541e568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Populate slots with random data.  <a href="classhelib_1_1_ptxt.html#a8e771f1be21da0f50d6df0a2a541e568">More...</a><br /></td></tr>
<tr class="separator:a8e771f1be21da0f50d6df0a2a541e568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9079d2c55de7a19af137da3d042c50d4"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a9079d2c55de7a19af137da3d042c50d4">getSlotRepr</a> () const</td></tr>
<tr class="memdesc:a9079d2c55de7a19af137da3d042c50d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the data held in the slots as a <code>std::vector&lt;SlotType&gt;</code>.  <a href="classhelib_1_1_ptxt.html#a9079d2c55de7a19af137da3d042c50d4">More...</a><br /></td></tr>
<tr class="separator:a9079d2c55de7a19af137da3d042c50d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2856a44b1a4ed056b2ab25136572dc16"><td class="memItemLeft" align="right" valign="top">NTL::ZZX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a2856a44b1a4ed056b2ab25136572dc16">getPolyRepr</a> () const</td></tr>
<tr class="memdesc:a2856a44b1a4ed056b2ab25136572dc16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts the slot data in <code>this</code> to its single polynomial representation.  <a href="classhelib_1_1_ptxt.html#a2856a44b1a4ed056b2ab25136572dc16">More...</a><br /></td></tr>
<tr class="separator:a2856a44b1a4ed056b2ab25136572dc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237db676327d7353bee8852cd3a9416c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a237db676327d7353bee8852cd3a9416c">operator[]</a> (long i)</td></tr>
<tr class="memdesc:a237db676327d7353bee8852cd3a9416c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square bracket accessor operator.  <a href="classhelib_1_1_ptxt.html#a237db676327d7353bee8852cd3a9416c">More...</a><br /></td></tr>
<tr class="separator:a237db676327d7353bee8852cd3a9416c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1588b56eec0908e262b66315c76e740e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a1588b56eec0908e262b66315c76e740e">operator[]</a> (long i) const</td></tr>
<tr class="memdesc:a1588b56eec0908e262b66315c76e740e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>const</code> square bracket accessor operator.  <a href="classhelib_1_1_ptxt.html#a1588b56eec0908e262b66315c76e740e">More...</a><br /></td></tr>
<tr class="separator:a1588b56eec0908e262b66315c76e740e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a111b70a6cf4517c55c3f5337308903a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a111b70a6cf4517c55c3f5337308903a4">at</a> (long i)</td></tr>
<tr class="memdesc:a111b70a6cf4517c55c3f5337308903a4"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>at</code> accessor operator.  <a href="classhelib_1_1_ptxt.html#a111b70a6cf4517c55c3f5337308903a4">More...</a><br /></td></tr>
<tr class="separator:a111b70a6cf4517c55c3f5337308903a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e158e9a76f3028cbe483a65f9f3ce1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a4e158e9a76f3028cbe483a65f9f3ce1e">at</a> (long i) const</td></tr>
<tr class="memdesc:a4e158e9a76f3028cbe483a65f9f3ce1e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>const</code> <code>at</code> accessor operator.  <a href="classhelib_1_1_ptxt.html#a4e158e9a76f3028cbe483a65f9f3ce1e">More...</a><br /></td></tr>
<tr class="separator:a4e158e9a76f3028cbe483a65f9f3ce1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bb2dbd5b558778d17658182ee05d4a8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a2bb2dbd5b558778d17658182ee05d4a8">operator==</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;other) const</td></tr>
<tr class="memdesc:a2bb2dbd5b558778d17658182ee05d4a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equals operator between two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects.  <a href="classhelib_1_1_ptxt.html#a2bb2dbd5b558778d17658182ee05d4a8">More...</a><br /></td></tr>
<tr class="separator:a2bb2dbd5b558778d17658182ee05d4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6d01d3c64034b36c49744714fc1721"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a7e6d01d3c64034b36c49744714fc1721">operator!=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;other) const</td></tr>
<tr class="memdesc:a7e6d01d3c64034b36c49744714fc1721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not equals operator between two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects.  <a href="classhelib_1_1_ptxt.html#a7e6d01d3c64034b36c49744714fc1721">More...</a><br /></td></tr>
<tr class="separator:a7e6d01d3c64034b36c49744714fc1721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0d1e152b220e9219e015d8601972efe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ad0d1e152b220e9219e015d8601972efe">operator*</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;rhs) const</td></tr>
<tr class="memdesc:ad0d1e152b220e9219e015d8601972efe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Infix multiplication operator.  <a href="classhelib_1_1_ptxt.html#ad0d1e152b220e9219e015d8601972efe">More...</a><br /></td></tr>
<tr class="separator:ad0d1e152b220e9219e015d8601972efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4c4b82672819e72a5eab6883cf54cae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ab4c4b82672819e72a5eab6883cf54cae">operator+</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;rhs) const</td></tr>
<tr class="memdesc:ab4c4b82672819e72a5eab6883cf54cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Infix addition operator.  <a href="classhelib_1_1_ptxt.html#ab4c4b82672819e72a5eab6883cf54cae">More...</a><br /></td></tr>
<tr class="separator:ab4c4b82672819e72a5eab6883cf54cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe4b6cb41fcdabb88f2e6533c1829e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#adfe4b6cb41fcdabb88f2e6533c1829e2">operator-</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;rhs) const</td></tr>
<tr class="memdesc:adfe4b6cb41fcdabb88f2e6533c1829e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Infix subtraction operator.  <a href="classhelib_1_1_ptxt.html#adfe4b6cb41fcdabb88f2e6533c1829e2">More...</a><br /></td></tr>
<tr class="separator:adfe4b6cb41fcdabb88f2e6533c1829e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af174eb635bae2953ad834594167972f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af174eb635bae2953ad834594167972f4">operator*=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="memdesc:af174eb635bae2953ad834594167972f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with another <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#af174eb635bae2953ad834594167972f4">More...</a><br /></td></tr>
<tr class="separator:af174eb635bae2953ad834594167972f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6f617ad696129bf2f1c97f082875417"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af6f617ad696129bf2f1c97f082875417">operator*=</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;scalar)</td></tr>
<tr class="memdesc:af6f617ad696129bf2f1c97f082875417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with a single <code>SlotType</code>.  <a href="classhelib_1_1_ptxt.html#af6f617ad696129bf2f1c97f082875417">More...</a><br /></td></tr>
<tr class="separator:af6f617ad696129bf2f1c97f082875417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56bda6e45a7f413914cea175a4edcca6"><td class="memTemplParams" colspan="2">template&lt;typename Scalar &gt; </td></tr>
<tr class="memitem:a56bda6e45a7f413914cea175a4edcca6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a56bda6e45a7f413914cea175a4edcca6">operator*=</a> (const Scalar &amp;scalar)</td></tr>
<tr class="memdesc:a56bda6e45a7f413914cea175a4edcca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with a scalar.  <a href="classhelib_1_1_ptxt.html#a56bda6e45a7f413914cea175a4edcca6">More...</a><br /></td></tr>
<tr class="separator:a56bda6e45a7f413914cea175a4edcca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2962844c9a07023f7de74bf954d6cc1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a2962844c9a07023f7de74bf954d6cc1d">operator+=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="memdesc:a2962844c9a07023f7de74bf954d6cc1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plus equals operator with another <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#a2962844c9a07023f7de74bf954d6cc1d">More...</a><br /></td></tr>
<tr class="separator:a2962844c9a07023f7de74bf954d6cc1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5b145f55caed90aca67b22a5abda9b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ac5b145f55caed90aca67b22a5abda9b7">operator+=</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;scalar)</td></tr>
<tr class="memdesc:ac5b145f55caed90aca67b22a5abda9b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plus equals operator with a single <code>SlotType</code>.  <a href="classhelib_1_1_ptxt.html#ac5b145f55caed90aca67b22a5abda9b7">More...</a><br /></td></tr>
<tr class="separator:ac5b145f55caed90aca67b22a5abda9b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1db75c37d202538affad4865f6d60b0"><td class="memTemplParams" colspan="2">template&lt;typename Scalar &gt; </td></tr>
<tr class="memitem:ab1db75c37d202538affad4865f6d60b0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ab1db75c37d202538affad4865f6d60b0">operator+=</a> (const Scalar &amp;scalar)</td></tr>
<tr class="memdesc:ab1db75c37d202538affad4865f6d60b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plus equals operator with a scalar.  <a href="classhelib_1_1_ptxt.html#ab1db75c37d202538affad4865f6d60b0">More...</a><br /></td></tr>
<tr class="separator:ab1db75c37d202538affad4865f6d60b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3f4f86d8be5982f163edda7b69e05a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ab3f4f86d8be5982f163edda7b69e05a6">operator-=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="memdesc:ab3f4f86d8be5982f163edda7b69e05a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus equals operator with another <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#ab3f4f86d8be5982f163edda7b69e05a6">More...</a><br /></td></tr>
<tr class="separator:ab3f4f86d8be5982f163edda7b69e05a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aea2308633c8fe6260b12a72278e83b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a0aea2308633c8fe6260b12a72278e83b">operator-=</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;scalar)</td></tr>
<tr class="memdesc:a0aea2308633c8fe6260b12a72278e83b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus equals operator with a single <code>SlotType</code>.  <a href="classhelib_1_1_ptxt.html#a0aea2308633c8fe6260b12a72278e83b">More...</a><br /></td></tr>
<tr class="separator:a0aea2308633c8fe6260b12a72278e83b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac130b4ef05a3a3673b39f00ce31b2118"><td class="memTemplParams" colspan="2">template&lt;typename Scalar &gt; </td></tr>
<tr class="memitem:ac130b4ef05a3a3673b39f00ce31b2118"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ac130b4ef05a3a3673b39f00ce31b2118">operator-=</a> (const Scalar &amp;scalar)</td></tr>
<tr class="memdesc:ac130b4ef05a3a3673b39f00ce31b2118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus equals operator with a scalar.  <a href="classhelib_1_1_ptxt.html#ac130b4ef05a3a3673b39f00ce31b2118">More...</a><br /></td></tr>
<tr class="separator:ac130b4ef05a3a3673b39f00ce31b2118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa244b723b8202496b3916b8a16f6273c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#aa244b723b8202496b3916b8a16f6273c">negate</a> ()</td></tr>
<tr class="memdesc:aa244b723b8202496b3916b8a16f6273c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negate a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#aa244b723b8202496b3916b8a16f6273c">More...</a><br /></td></tr>
<tr class="separator:aa244b723b8202496b3916b8a16f6273c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8468a37b7d0aad635d6a9236d426be21"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, typename Scalar , typename std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:a8468a37b7d0aad635d6a9236d426be21"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a8468a37b7d0aad635d6a9236d426be21">addConstant</a> (const Scalar &amp;scalar)</td></tr>
<tr class="memdesc:a8468a37b7d0aad635d6a9236d426be21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a constant to a <a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#a8468a37b7d0aad635d6a9236d426be21">More...</a><br /></td></tr>
<tr class="separator:a8468a37b7d0aad635d6a9236d426be21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19e06cbbfcb57ebafe71f650501f56cf"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, typename Scalar , typename std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:a19e06cbbfcb57ebafe71f650501f56cf"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a19e06cbbfcb57ebafe71f650501f56cf">addConstantCKKS</a> (const Scalar &amp;scalar)</td></tr>
<tr class="memdesc:a19e06cbbfcb57ebafe71f650501f56cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a constant to a <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#a19e06cbbfcb57ebafe71f650501f56cf">More...</a><br /></td></tr>
<tr class="separator:a19e06cbbfcb57ebafe71f650501f56cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5539f04b6f8741aa37f44700bb00ef63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a5539f04b6f8741aa37f44700bb00ef63">multiplyBy</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="memdesc:a5539f04b6f8741aa37f44700bb00ef63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplication function between two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects.  <a href="classhelib_1_1_ptxt.html#a5539f04b6f8741aa37f44700bb00ef63">More...</a><br /></td></tr>
<tr class="separator:a5539f04b6f8741aa37f44700bb00ef63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33217b18b31a054fe1f1be6f3534c55a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a33217b18b31a054fe1f1be6f3534c55a">multiplyBy2</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a> &amp;otherPtxt1, const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a> &amp;otherPtxt2)</td></tr>
<tr class="memdesc:a33217b18b31a054fe1f1be6f3534c55a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplication function between three <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects.  <a href="classhelib_1_1_ptxt.html#a33217b18b31a054fe1f1be6f3534c55a">More...</a><br /></td></tr>
<tr class="separator:a33217b18b31a054fe1f1be6f3534c55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a594ce012fe4bf3ac5d45dc95609c7e4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a594ce012fe4bf3ac5d45dc95609c7e4d">square</a> ()</td></tr>
<tr class="memdesc:a594ce012fe4bf3ac5d45dc95609c7e4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square operation on a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#a594ce012fe4bf3ac5d45dc95609c7e4d">More...</a><br /></td></tr>
<tr class="separator:a594ce012fe4bf3ac5d45dc95609c7e4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8c161f20f558486c92d71e65d8ec0e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af8c161f20f558486c92d71e65d8ec0e3">cube</a> ()</td></tr>
<tr class="memdesc:af8c161f20f558486c92d71e65d8ec0e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cube operation on a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ptxt.html#af8c161f20f558486c92d71e65d8ec0e3">More...</a><br /></td></tr>
<tr class="separator:af8c161f20f558486c92d71e65d8ec0e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad669299fa7fed4a37bc8536a9d3dcf05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ad669299fa7fed4a37bc8536a9d3dcf05">power</a> (long e)</td></tr>
<tr class="memdesc:ad669299fa7fed4a37bc8536a9d3dcf05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power operation to raise a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to an arbitrary non-negative power.  <a href="classhelib_1_1_ptxt.html#ad669299fa7fed4a37bc8536a9d3dcf05">More...</a><br /></td></tr>
<tr class="separator:ad669299fa7fed4a37bc8536a9d3dcf05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e87f1ffcfcd55fbfa04e0d8b68addb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a9e87f1ffcfcd55fbfa04e0d8b68addb8">rotate</a> (long amount)</td></tr>
<tr class="memdesc:a9e87f1ffcfcd55fbfa04e0d8b68addb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotate slots right by specified amount (slot <code>i</code> goes to slot <code>i+1 mod size</code>).  <a href="classhelib_1_1_ptxt.html#a9e87f1ffcfcd55fbfa04e0d8b68addb8">More...</a><br /></td></tr>
<tr class="separator:a9e87f1ffcfcd55fbfa04e0d8b68addb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7933c3b8ff51f923a3bc95752a0fc2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ae7933c3b8ff51f923a3bc95752a0fc2c">rotate1D</a> (long dim, long amount)</td></tr>
<tr class="memdesc:ae7933c3b8ff51f923a3bc95752a0fc2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotate slots right by specified amount along a specific dimension.  <a href="classhelib_1_1_ptxt.html#ae7933c3b8ff51f923a3bc95752a0fc2c">More...</a><br /></td></tr>
<tr class="separator:ae7933c3b8ff51f923a3bc95752a0fc2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa812aae90f9454920a1033fc0790dfd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#afa812aae90f9454920a1033fc0790dfd">shift</a> (long amount)</td></tr>
<tr class="memdesc:afa812aae90f9454920a1033fc0790dfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts slots right by specified amount with <code>0</code> fill (slot <code>i</code> goes to slot <code>i+1 mod size</code>).  <a href="classhelib_1_1_ptxt.html#afa812aae90f9454920a1033fc0790dfd">More...</a><br /></td></tr>
<tr class="separator:afa812aae90f9454920a1033fc0790dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73bfcf600de1d55cd66281428396a6ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a73bfcf600de1d55cd66281428396a6ec">shift1D</a> (long dim, long amount)</td></tr>
<tr class="memdesc:a73bfcf600de1d55cd66281428396a6ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift slots right in one dimension of the hypercube structure with <code>0</code> fill.  <a href="classhelib_1_1_ptxt.html#a73bfcf600de1d55cd66281428396a6ec">More...</a><br /></td></tr>
<tr class="separator:a73bfcf600de1d55cd66281428396a6ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a794648794e265a250ad9c23572b92b39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a794648794e265a250ad9c23572b92b39">automorph</a> (long k)</td></tr>
<tr class="memdesc:a794648794e265a250ad9c23572b92b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the automorphism a(X) -&gt; a(X^k) mod Phi_m(X).  <a href="classhelib_1_1_ptxt.html#a794648794e265a250ad9c23572b92b39">More...</a><br /></td></tr>
<tr class="separator:a794648794e265a250ad9c23572b92b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d33b4eb138d5c12a50343d25ea3a993"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:a5d33b4eb138d5c12a50343d25ea3a993"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a5d33b4eb138d5c12a50343d25ea3a993">frobeniusAutomorph</a> (long j)</td></tr>
<tr class="memdesc:a5d33b4eb138d5c12a50343d25ea3a993"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the frobenius automorphism a(X) -&gt; a(X^(p^j)) mod Phi_m(X).  <a href="classhelib_1_1_ptxt.html#a5d33b4eb138d5c12a50343d25ea3a993">More...</a><br /></td></tr>
<tr class="separator:a5d33b4eb138d5c12a50343d25ea3a993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1459a4416bb38e0863e220e5cfe6ff9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ad1459a4416bb38e0863e220e5cfe6ff9">replicate</a> (long pos)</td></tr>
<tr class="memdesc:ad1459a4416bb38e0863e220e5cfe6ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replicate single slot across all slots.  <a href="classhelib_1_1_ptxt.html#ad1459a4416bb38e0863e220e5cfe6ff9">More...</a><br /></td></tr>
<tr class="separator:ad1459a4416bb38e0863e220e5cfe6ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f5ad875da05a1562e319f3943892c67"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a7f5ad875da05a1562e319f3943892c67">replicateAll</a> () const</td></tr>
<tr class="memdesc:a7f5ad875da05a1562e319f3943892c67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a vector of plaintexts with each slot replicated in each plaintext.  <a href="classhelib_1_1_ptxt.html#a7f5ad875da05a1562e319f3943892c67">More...</a><br /></td></tr>
<tr class="separator:a7f5ad875da05a1562e319f3943892c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200fd09c6efe0887037783e261946e8b"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:a200fd09c6efe0887037783e261946e8b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a200fd09c6efe0887037783e261946e8b">complexConj</a> ()</td></tr>
<tr class="memdesc:a200fd09c6efe0887037783e261946e8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply complex conjugate of complex numbers in slots of a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object.  <a href="classhelib_1_1_ptxt.html#a200fd09c6efe0887037783e261946e8b">More...</a><br /></td></tr>
<tr class="separator:a200fd09c6efe0887037783e261946e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1a0c1d39f2077bede420a150d459e1d"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:ae1a0c1d39f2077bede420a150d459e1d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ae1a0c1d39f2077bede420a150d459e1d">real</a> () const</td></tr>
<tr class="memdesc:ae1a0c1d39f2077bede420a150d459e1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract the real part of a <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> plaintext.  <a href="classhelib_1_1_ptxt.html#ae1a0c1d39f2077bede420a150d459e1d">More...</a><br /></td></tr>
<tr class="separator:ae1a0c1d39f2077bede420a150d459e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace682ff41a5f1833ae298aa8d33e05d5"><td class="memTemplParams" colspan="2">template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </td></tr>
<tr class="memitem:ace682ff41a5f1833ae298aa8d33e05d5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ace682ff41a5f1833ae298aa8d33e05d5">imag</a> () const</td></tr>
<tr class="memdesc:ace682ff41a5f1833ae298aa8d33e05d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract the imaginary part of a <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> plaintext.  <a href="classhelib_1_1_ptxt.html#ace682ff41a5f1833ae298aa8d33e05d5">More...</a><br /></td></tr>
<tr class="separator:ace682ff41a5f1833ae298aa8d33e05d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a479e27b3f9a7550a750acf6613c33b8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a479e27b3f9a7550a750acf6613c33b8d">runningSums</a> ()</td></tr>
<tr class="memdesc:a479e27b3f9a7550a750acf6613c33b8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the running sum (each slot is the sum of the previous slots).  <a href="classhelib_1_1_ptxt.html#a479e27b3f9a7550a750acf6613c33b8d">More...</a><br /></td></tr>
<tr class="separator:a479e27b3f9a7550a750acf6613c33b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34fe386648aff89c3bf201d0f1ea1e5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a34fe386648aff89c3bf201d0f1ea1e5b">totalSums</a> ()</td></tr>
<tr class="memdesc:a34fe386648aff89c3bf201d0f1ea1e5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the total sum (each slot contains the total sum of every slot).  <a href="classhelib_1_1_ptxt.html#a34fe386648aff89c3bf201d0f1ea1e5b">More...</a><br /></td></tr>
<tr class="separator:a34fe386648aff89c3bf201d0f1ea1e5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad048de2d62d0e4c843ddb48b85c63314"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ad048de2d62d0e4c843ddb48b85c63314">incrementalProduct</a> ()</td></tr>
<tr class="memdesc:ad048de2d62d0e4c843ddb48b85c63314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the incremental product (each slot is the product of the previous slots).  <a href="classhelib_1_1_ptxt.html#ad048de2d62d0e4c843ddb48b85c63314">More...</a><br /></td></tr>
<tr class="separator:ad048de2d62d0e4c843ddb48b85c63314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1587b07072208696849f02a3b40892e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a1587b07072208696849f02a3b40892e8">totalProduct</a> ()</td></tr>
<tr class="memdesc:a1587b07072208696849f02a3b40892e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the total product (each slot contains the total product of every slot).  <a href="classhelib_1_1_ptxt.html#a1587b07072208696849f02a3b40892e8">More...</a><br /></td></tr>
<tr class="separator:a1587b07072208696849f02a3b40892e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77c0d3dc8d65ad5c0abca52210878b9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a77c0d3dc8d65ad5c0abca52210878b9d">mapTo01</a> ()</td></tr>
<tr class="memdesc:a77c0d3dc8d65ad5c0abca52210878b9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map all non-zero slots to <code>1</code>, keeping zero slots as zero.  <a href="classhelib_1_1_ptxt.html#a77c0d3dc8d65ad5c0abca52210878b9d">More...</a><br /></td></tr>
<tr class="separator:a77c0d3dc8d65ad5c0abca52210878b9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af82b37e754f108320f949c86ca54e2a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_poly_mod.html">PolyMod</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af82b37e754f108320f949c86ca54e2a2">convertToSlot</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, long slot)</td></tr>
<tr class="separator:af82b37e754f108320f949c86ca54e2a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a45dbca8ef97bcfb08db8b063095fe"><td class="memItemLeft" align="right" valign="top">std::complex&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a34a45dbca8ef97bcfb08db8b063095fe">convertToSlot</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;, long slot)</td></tr>
<tr class="separator:a34a45dbca8ef97bcfb08db8b063095fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adefd75ad13bc331bf8713aca8d1a36e0"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:adefd75ad13bc331bf8713aca8d1a36e0"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#adefd75ad13bc331bf8713aca8d1a36e0">Ptxt</a> ()</td></tr>
<tr class="separator:adefd75ad13bc331bf8713aca8d1a36e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96311e58a23b77d66aa6eeb2dda4b1be"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a96311e58a23b77d66aa6eeb2dda4b1be"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a96311e58a23b77d66aa6eeb2dda4b1be">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context)</td></tr>
<tr class="separator:a96311e58a23b77d66aa6eeb2dda4b1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af50e60a002829fb85724cd7fadbf1e29"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:af50e60a002829fb85724cd7fadbf1e29"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#af50e60a002829fb85724cd7fadbf1e29">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;value)</td></tr>
<tr class="separator:af50e60a002829fb85724cd7fadbf1e29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ad3084da00defbdbd722b5a01667fca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a5ad3084da00defbdbd722b5a01667fca">setData</a> (const NTL::ZZX &amp;value)</td></tr>
<tr class="separator:a5ad3084da00defbdbd722b5a01667fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a974f1d55b4ab6dc704b2024b05d9405d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a974f1d55b4ab6dc704b2024b05d9405d">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const NTL::ZZX &amp;value)</td></tr>
<tr class="separator:a974f1d55b4ab6dc704b2024b05d9405d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69026b37cd22b8aea920bf63dfdb781a"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a69026b37cd22b8aea920bf63dfdb781a"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a69026b37cd22b8aea920bf63dfdb781a">Ptxt</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;data)</td></tr>
<tr class="separator:a69026b37cd22b8aea920bf63dfdb781a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03a54eee2351575158ec51e1c334587c"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a03a54eee2351575158ec51e1c334587c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a03a54eee2351575158ec51e1c334587c">setData</a> (const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;data)</td></tr>
<tr class="separator:a03a54eee2351575158ec51e1c334587c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b26b666eafe75f2226e25f602c21ac4"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a8b26b666eafe75f2226e25f602c21ac4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a8b26b666eafe75f2226e25f602c21ac4">setData</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;value)</td></tr>
<tr class="separator:a8b26b666eafe75f2226e25f602c21ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e716bb3fda2473c59fbfb3ee23f8027"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a5e716bb3fda2473c59fbfb3ee23f8027">decodeSetData</a> (const NTL::ZZX &amp;data)</td></tr>
<tr class="separator:a5e716bb3fda2473c59fbfb3ee23f8027"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad556736bd0f7494aa089ed1cc5ab481c"><td class="memItemLeft" align="right" valign="top">NTL::ZZX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ad556736bd0f7494aa089ed1cc5ab481c">getPolyRepr</a> () const</td></tr>
<tr class="memdesc:ad556736bd0f7494aa089ed1cc5ab481c"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> specialisation of the <code>getPolyRepr</code> function.  <a href="classhelib_1_1_ptxt.html#ad556736bd0f7494aa089ed1cc5ab481c">More...</a><br /></td></tr>
<tr class="separator:ad556736bd0f7494aa089ed1cc5ab481c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7548f947a53c2c1e837f677151bf4e4a"><td class="memItemLeft" align="right" valign="top">NTL::ZZX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a7548f947a53c2c1e837f677151bf4e4a">getPolyRepr</a> () const</td></tr>
<tr class="memdesc:a7548f947a53c2c1e837f677151bf4e4a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> specialisation of the <code>getPolyRepr</code> function.  <a href="classhelib_1_1_ptxt.html#a7548f947a53c2c1e837f677151bf4e4a">More...</a><br /></td></tr>
<tr class="separator:a7548f947a53c2c1e837f677151bf4e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0790cf80307306223364741d35f2fc10"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a0790cf80307306223364741d35f2fc10"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a0790cf80307306223364741d35f2fc10">operator*=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="separator:a0790cf80307306223364741d35f2fc10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a883f9316ef38923f5b97b1059df64cf6"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a883f9316ef38923f5b97b1059df64cf6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a883f9316ef38923f5b97b1059df64cf6">operator*=</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;scalar)</td></tr>
<tr class="separator:a883f9316ef38923f5b97b1059df64cf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a381def7191670deedfdb21af7108f1ed"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a381def7191670deedfdb21af7108f1ed"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a381def7191670deedfdb21af7108f1ed">operator+=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="separator:a381def7191670deedfdb21af7108f1ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a849a63995389815a18242cf2c5e0b966"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a849a63995389815a18242cf2c5e0b966"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a849a63995389815a18242cf2c5e0b966">operator+=</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;scalar)</td></tr>
<tr class="separator:a849a63995389815a18242cf2c5e0b966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab88e951a9ef47db99d507c6bc999f8e4"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:ab88e951a9ef47db99d507c6bc999f8e4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ab88e951a9ef47db99d507c6bc999f8e4">operator-=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;otherPtxt)</td></tr>
<tr class="separator:ab88e951a9ef47db99d507c6bc999f8e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaab62c4effe962354b0d698bad62a3c5"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:aaab62c4effe962354b0d698bad62a3c5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#aaab62c4effe962354b0d698bad62a3c5">operator-=</a> (const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;scalar)</td></tr>
<tr class="separator:aaab62c4effe962354b0d698bad62a3c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8eb34c52ddce42258aea44d3483789d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ac8eb34c52ddce42258aea44d3483789d">automorph</a> (long k)</td></tr>
<tr class="separator:ac8eb34c52ddce42258aea44d3483789d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dd3210b0c78f654faa31c0fa24360c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a7dd3210b0c78f654faa31c0fa24360c9">automorph</a> (long k)</td></tr>
<tr class="separator:a7dd3210b0c78f654faa31c0fa24360c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c823aefeb2888d10f3268798603f5a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a0c823aefeb2888d10f3268798603f5a2">frobeniusAutomorph</a> (long j)</td></tr>
<tr class="separator:a0c823aefeb2888d10f3268798603f5a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae90a5afc247726fe887f90fb634a103a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#ae90a5afc247726fe887f90fb634a103a">complexConj</a> ()</td></tr>
<tr class="separator:ae90a5afc247726fe887f90fb634a103a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99120d987129a9702a62563a44a7a4e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a99120d987129a9702a62563a44a7a4e7">real</a> () const</td></tr>
<tr class="separator:a99120d987129a9702a62563a44a7a4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a655f71e22a547a490d83d33d2a68fcb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a655f71e22a547a490d83d33d2a68fcb0">imag</a> () const</td></tr>
<tr class="separator:a655f71e22a547a490d83d33d2a68fcb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a5421f8a8d23924a82163464867c353ce"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a5421f8a8d23924a82163464867c353ce">convertToSlot</a> (const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;context, long slot)</td></tr>
<tr class="memdesc:a5421f8a8d23924a82163464867c353ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion function from <code>long</code> to <code>SlotType</code>.  <a href="classhelib_1_1_ptxt.html#a5421f8a8d23924a82163464867c353ce">More...</a><br /></td></tr>
<tr class="separator:a5421f8a8d23924a82163464867c353ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a11f7e4e965acab1f6db834797ae165f2"><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a11f7e4e965acab1f6db834797ae165f2">operator&gt;&gt;</a> (std::istream &amp;is, <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;ptxt)</td></tr>
<tr class="memdesc:a11f7e4e965acab1f6db834797ae165f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input shift operator.  <a href="classhelib_1_1_ptxt.html#a11f7e4e965acab1f6db834797ae165f2">More...</a><br /></td></tr>
<tr class="separator:a11f7e4e965acab1f6db834797ae165f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60ac433549405b9bfa8ec16ba7abbe6d"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ptxt.html#a60ac433549405b9bfa8ec16ba7abbe6d">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;ptxt)</td></tr>
<tr class="memdesc:a60ac433549405b9bfa8ec16ba7abbe6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output shift operator.  <a href="classhelib_1_1_ptxt.html#a60ac433549405b9bfa8ec16ba7abbe6d">More...</a><br /></td></tr>
<tr class="separator:a60ac433549405b9bfa8ec16ba7abbe6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An object that mimics the functionality of the <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code> object, and acts as a convenient entry point for inputting/encoding data which is to be encrypted. </p>
<p><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> is templated on <code>Scheme</code>, which may be <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> or <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code>.</p>
<p>In the <a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> case, <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> can be considered to be an element of <img class="formulaInl" alt="$\mathbb{Z}_p[x]/\Phi(m)$" src="form_11.png" width="63" height="14"/> viewed as a vector of slots with values each in <img class="formulaInl" alt="$\mathbb{Z}_p[x]/G$" src="form_12.png" width="44" height="14"/> where G is one of the irreducible factors of <img class="formulaInl" alt="$\Phi(m)$" src="form_13.png" width="29" height="14"/>, and all operations are performed entry-wise.</p>
<p>General usage: </p><div class="fragment"><div class="line"><a class="code" href="classhelib_1_1_ptxt.html">helib::Ptxt&lt;BGV&gt;</a> p1(bgv_context, data);</div>
<div class="line"><a class="code" href="classhelib_1_1_ptxt.html">helib::Ptxt&lt;BGV&gt;</a> p2(bgv_context, data);</div>
<div class="line">p1 += p2;</div>
<div class="line">std::cout &lt;&lt; p1 &lt;&lt; std::endl;</div>
</div><!-- fragment --><p>Internally, <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects store their data as a <code>std::vector&lt;<a class="el" href="classhelib_1_1_poly_mod.html" title="An object that contains an NTL::ZZX polynomial along with a coefficient modulus p2r and a polynomial ...">helib::PolyMod</a>&gt;</code>, where <code><a class="el" href="classhelib_1_1_poly_mod.html" title="An object that contains an NTL::ZZX polynomial along with a coefficient modulus p2r and a polynomial ...">PolyMod</a></code> is a convenience type representing an element of the above ring, <img class="formulaInl" alt="$\mathbb{Z}_p[x]/G$" src="form_12.png" width="44" height="14"/>. The <code><a class="el" href="classhelib_1_1_poly_mod.html" title="An object that contains an NTL::ZZX polynomial along with a coefficient modulus p2r and a polynomial ...">PolyMod</a></code> type can be easily converted via <code>static_cast</code> to more convenient types such as <code>long</code> and <code>NTL::ZZX</code>.</p>
<p>In the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> case, the slot type is <code>std::complex&lt;double&gt;</code>, and has sensible operator overloads supporting operations with other <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a>&lt;<a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a>&gt;</code>, <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>, and <code>std::complex&lt;double&gt;</code> objects, as well as performing all operations slot-wise.</p>
<p>A large number of operator overloads are defined so that <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects should easily inter-operate, as well as providing interoperability with other logically compatible types e.g. <code>long</code> and <code>NTL::ZZX</code> in the <a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> case, <code>std::complex&lt;double&gt;</code> in the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> case, and <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">helib::Ctxt</a></code> in both cases. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a208b1ed55bce96f126191cb7a39b92e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a208b1ed55bce96f126191cb7a39b92e7">&#9670;&nbsp;</a></span>SlotType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">helib::Ptxt::SlotType</a> =  typename Scheme::SlotType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for type to be stored in the slots. </p>
<p><code>std::complex&lt;double&gt;</code> for <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a>, <code><a class="el" href="classhelib_1_1_poly_mod.html" title="An object that contains an NTL::ZZX polynomial along with a coefficient modulus p2r and a polynomial ...">helib::PolyMod</a></code> for <a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a>. </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab38174daa0112a946ccbd93b599b3a4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab38174daa0112a946ccbd93b599b3a4f">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[1/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default constructor results in invalid <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object which throws if used. </p>

</div>
</div>
<a id="ac34ee5c8a8c3341cd97b57345aee7f84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac34ee5c8a8c3341cd97b57345aee7f84">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[2/13]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a> only constructor, defaults all slots to <code>0</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td><code><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a></code> to use. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a063d478ac57438d9434921967313f474"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a063d478ac57438d9434921967313f474">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[3/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Single slot constructor, set all slots to <code>value</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td><code><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a></code> to use. </td></tr>
    <tr><td class="paramname">value</td><td>Value to set all slots to. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af5550960308d217de80a149432acb6aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5550960308d217de80a149432acb6aa">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[4/13]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename U  = Scheme, std::enable_if_t&lt; std::is_same&lt; U, BGV &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> plaintext polynomial constructor, set all slots to the <code>value</code> polynomial. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td><code><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a></code> to use. </td></tr>
    <tr><td class="paramname">data</td><td>Polynomial to be converted into slot representation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Only exists for <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code>. </dd></dl>

</div>
</div>
<a id="acba1c7e7d92aa7a31b555046fa39f4b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acba1c7e7d92aa7a31b555046fa39f4b3">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[5/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Slot vector constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td><code><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a></code> to use. </td></tr>
    <tr><td class="paramname">data</td><td>Data to populate the slots. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af7b37d52345b0cfab052227e43278f28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7b37d52345b0cfab052227e43278f28">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[6/13]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Generic slot vector constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td><code><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a></code> to use. </td></tr>
    <tr><td class="paramname">data</td><td>Data to populate the slots, must be convertible to <code>SlotType</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2f4c6a71ce9e9976e72a77f6c3175114"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f4c6a71ce9e9976e72a77f6c3175114">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[7/13]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object to copy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac4568bc2e02b7dc906568f2c7c7eaaa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4568bc2e02b7dc906568f2c7c7eaaa8">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[8/13]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to copy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a71edaa17612629ec56220ea022202016"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71edaa17612629ec56220ea022202016">&#9670;&nbsp;</a></span>~Ptxt()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::~Ptxt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default destructor. </p>

</div>
</div>
<a id="adefd75ad13bc331bf8713aca8d1a36e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adefd75ad13bc331bf8713aca8d1a36e0">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[9/13]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a96311e58a23b77d66aa6eeb2dda4b1be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96311e58a23b77d66aa6eeb2dda4b1be">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[10/13]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af50e60a002829fb85724cd7fadbf1e29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af50e60a002829fb85724cd7fadbf1e29">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[11/13]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a974f1d55b4ab6dc704b2024b05d9405d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a974f1d55b4ab6dc704b2024b05d9405d">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[12/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::<a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a69026b37cd22b8aea920bf63dfdb781a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69026b37cd22b8aea920bf63dfdb781a">&#9670;&nbsp;</a></span>Ptxt() <span class="overload">[13/13]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">helib::Ptxt::Ptxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a8468a37b7d0aad635d6a9236d426be21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8468a37b7d0aad635d6a9236d426be21">&#9670;&nbsp;</a></span>addConstant()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, typename Scalar , typename std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::addConstant </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a constant to a <a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be added across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post scalar addition. </dd></dl>

</div>
</div>
<a id="a19e06cbbfcb57ebafe71f650501f56cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19e06cbbfcb57ebafe71f650501f56cf">&#9670;&nbsp;</a></span>addConstantCKKS()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, typename Scalar , typename std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a constant to a <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be added across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post scalar addition. </dd></dl>

</div>
</div>
<a id="a111b70a6cf4517c55c3f5337308903a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a111b70a6cf4517c55c3f5337308903a4">&#9670;&nbsp;</a></span>at() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;::<a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp; helib::Ptxt::at </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>at</code> accessor operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Index of the desired <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> slot. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the data held at slot <code>i</code>. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>throws if <code>i</code> is out of range. </dd></dl>

</div>
</div>
<a id="a4e158e9a76f3028cbe483a65f9f3ce1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e158e9a76f3028cbe483a65f9f3ce1e">&#9670;&nbsp;</a></span>at() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;::<a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> helib::Ptxt::at </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>const</code> <code>at</code> accessor operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Index of the desired <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> slot. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Copy of the data held at slot <code>i</code>. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>throws if <code>i</code> is out of range. </dd></dl>

</div>
</div>
<a id="a794648794e265a250ad9c23572b92b39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a794648794e265a250ad9c23572b92b39">&#9670;&nbsp;</a></span>automorph() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::automorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Apply the automorphism a(X) -&gt; a(X^k) mod Phi_m(X). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">k</td><td>Exponent of the automorphism to apply. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post automorphism application. </dd></dl>
<dl class="section note"><dt>Note</dt><dd><code>k</code> must be an element of Zm* </dd></dl>

</div>
</div>
<a id="ac8eb34c52ddce42258aea44d3483789d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8eb34c52ddce42258aea44d3483789d">&#9670;&nbsp;</a></span>automorph() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::automorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a7dd3210b0c78f654faa31c0fa24360c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dd3210b0c78f654faa31c0fa24360c9">&#9670;&nbsp;</a></span>automorph() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;::automorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a47b64faee8b052ccccda7df6a5fa0a22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47b64faee8b052ccccda7df6a5fa0a22">&#9670;&nbsp;</a></span>clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets all slots to <code>0</code>. </p>

</div>
</div>
<a id="a200fd09c6efe0887037783e261946e8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a200fd09c6efe0887037783e261946e8b">&#9670;&nbsp;</a></span>complexConj() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::complexConj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Apply complex conjugate of complex numbers in slots of a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post complex conjugation. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only valid for the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> scheme. </dd></dl>

</div>
</div>
<a id="ae90a5afc247726fe887f90fb634a103a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae90a5afc247726fe887f90fb634a103a">&#9670;&nbsp;</a></span>complexConj() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;::complexConj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a34a45dbca8ef97bcfb08db8b063095fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a45dbca8ef97bcfb08db8b063095fe">&#9670;&nbsp;</a></span>convertToSlot() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::complex&lt; double &gt; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;::convertToSlot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>slot</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af82b37e754f108320f949c86ca54e2a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af82b37e754f108320f949c86ca54e2a2">&#9670;&nbsp;</a></span>convertToSlot() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_poly_mod.html">PolyMod</a> <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::convertToSlot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>slot</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5421f8a8d23924a82163464867c353ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5421f8a8d23924a82163464867c353ce">&#9670;&nbsp;</a></span>convertToSlot() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> helib::Ptxt::convertToSlot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>slot</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Conversion function from <code>long</code> to <code>SlotType</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td><a class="el" href="classhelib_1_1_context.html" title="Maintaining the parameters.">Context</a> which may be needed to extract algebraic info. </td></tr>
    <tr><td class="paramname">slot</td><td>Datum to be converted to a <code>SlotType</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Converted slot. </dd></dl>

</div>
</div>
<a id="af8c161f20f558486c92d71e65d8ec0e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8c161f20f558486c92d71e65d8ec0e3">&#9670;&nbsp;</a></span>cube()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::cube </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Cube operation on a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post cube operation. </dd></dl>

</div>
</div>
<a id="a5e716bb3fda2473c59fbfb3ee23f8027"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e716bb3fda2473c59fbfb3ee23f8027">&#9670;&nbsp;</a></span>decodeSetData() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::decodeSetData </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6089a4133bf1b54676a70ea49e89d20e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6089a4133bf1b54676a70ea49e89d20e">&#9670;&nbsp;</a></span>decodeSetData() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, typename std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::decodeSetData </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> slots using values from decoding <code>data</code> to slot representation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Polynomial to be decoded and converted into slot data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Only works in the <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> case. </dd></dl>

</div>
</div>
<a id="a5d33b4eb138d5c12a50343d25ea3a993"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d33b4eb138d5c12a50343d25ea3a993">&#9670;&nbsp;</a></span>frobeniusAutomorph() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::frobeniusAutomorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Apply the frobenius automorphism a(X) -&gt; a(X^(p^j)) mod Phi_m(X). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">j</td><td>Exponent of the automorphism to apply. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post frobenius automorphism application. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only valid for the <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> scheme. </dd></dl>

</div>
</div>
<a id="a0c823aefeb2888d10f3268798603f5a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c823aefeb2888d10f3268798603f5a2">&#9670;&nbsp;</a></span>frobeniusAutomorph() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::frobeniusAutomorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad556736bd0f7494aa089ed1cc5ab481c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad556736bd0f7494aa089ed1cc5ab481c">&#9670;&nbsp;</a></span>getPolyRepr() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::ZZX <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::getPolyRepr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a> specialisation of the <code>getPolyRepr</code> function. </p>
<dl class="section return"><dt>Returns</dt><dd>Single encoded polynomial. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only enabled for the <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> scheme. </dd></dl>

</div>
</div>
<a id="a7548f947a53c2c1e837f677151bf4e4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7548f947a53c2c1e837f677151bf4e4a">&#9670;&nbsp;</a></span>getPolyRepr() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::ZZX <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;::getPolyRepr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> specialisation of the <code>getPolyRepr</code> function. </p>
<dl class="section return"><dt>Returns</dt><dd>Single encoded polynomial. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only enabled for the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> scheme. </dd></dl>

</div>
</div>
<a id="a2856a44b1a4ed056b2ab25136572dc16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2856a44b1a4ed056b2ab25136572dc16">&#9670;&nbsp;</a></span>getPolyRepr() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::ZZX helib::Ptxt::getPolyRepr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts the slot data in <code>this</code> to its single polynomial representation. </p>
<dl class="section return"><dt>Returns</dt><dd>Single encoded polynomial. </dd></dl>
<dl class="section note"><dt>Note</dt><dd><code>NTL::ZZX</code> representation loses some precision in the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> case. </dd></dl>

</div>
</div>
<a id="a9079d2c55de7a19af137da3d042c50d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9079d2c55de7a19af137da3d042c50d4">&#9670;&nbsp;</a></span>getSlotRepr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt; typename <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;::<a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp; helib::Ptxt::getSlotRepr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the data held in the slots as a <code>std::vector&lt;SlotType&gt;</code>. </p>
<dl class="section return"><dt>Returns</dt><dd>Constant reference to the slot vector. </dd></dl>

</div>
</div>
<a id="ace682ff41a5f1833ae298aa8d33e05d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace682ff41a5f1833ae298aa8d33e05d5">&#9670;&nbsp;</a></span>imag() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt; helib::Ptxt::imag </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extract the imaginary part of a <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> plaintext. </p>
<dl class="section return"><dt>Returns</dt><dd>New plaintext containing the imaginary part of each slot. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only valid for the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> scheme. </dd></dl>

</div>
</div>
<a id="a655f71e22a547a490d83d33d2a68fcb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a655f71e22a547a490d83d33d2a68fcb0">&#9670;&nbsp;</a></span>imag() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;::imag </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad048de2d62d0e4c843ddb48b85c63314"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad048de2d62d0e4c843ddb48b85c63314">&#9670;&nbsp;</a></span>incrementalProduct()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::incrementalProduct </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compute the incremental product (each slot is the product of the previous slots). </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="adc3c98383082db58d8980e4d4ad5aa49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc3c98383082db58d8980e4d4ad5aa49">&#9670;&nbsp;</a></span>isValid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ptxt::isValid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> is valid. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if valid, <code>false</code> otherwise. </dd></dl>

</div>
</div>
<a id="a39d6d5db3059090134312fecefc468da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39d6d5db3059090134312fecefc468da">&#9670;&nbsp;</a></span>lsize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long helib::Ptxt::lsize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the size (number of slots) of a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> as <code>long</code>. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of slots of the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </dd></dl>

</div>
</div>
<a id="a77c0d3dc8d65ad5c0abca52210878b9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77c0d3dc8d65ad5c0abca52210878b9d">&#9670;&nbsp;</a></span>mapTo01()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::mapTo01 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map all non-zero slots to <code>1</code>, keeping zero slots as zero. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post mapping. </dd></dl>

</div>
</div>
<a id="a5539f04b6f8741aa37f44700bb00ef63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5539f04b6f8741aa37f44700bb00ef63">&#9670;&nbsp;</a></span>multiplyBy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::multiplyBy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Multiplication function between two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">otherPtxt</td><td>Right hand side of multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function is equivalent to operator <code>*=</code>. </dd></dl>

</div>
</div>
<a id="a33217b18b31a054fe1f1be6f3534c55a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33217b18b31a054fe1f1be6f3534c55a">&#9670;&nbsp;</a></span>multiplyBy2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::multiplyBy2 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a> &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a> &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Multiplication function between three <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">otherPtxt1</td><td>First <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to multiply with. </td></tr>
    <tr><td class="paramname">otherPtxt2</td><td>Second <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to multiply with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="aa244b723b8202496b3916b8a16f6273c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa244b723b8202496b3916b8a16f6273c">&#9670;&nbsp;</a></span>negate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::negate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Negate a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post negation. </dd></dl>

</div>
</div>
<a id="a7e6d01d3c64034b36c49744714fc1721"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e6d01d3c64034b36c49744714fc1721">&#9670;&nbsp;</a></span>operator!=()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ptxt::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Not equals operator between two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to compare to. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if differ, <code>false</code> otherwise. </dd></dl>

</div>
</div>
<a id="ad0d1e152b220e9219e015d8601972efe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0d1e152b220e9219e015d8601972efe">&#9670;&nbsp;</a></span>operator*()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; helib::Ptxt::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Infix multiplication operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rhs</td><td>Right hand side of multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Product of the two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </dd></dl>

</div>
</div>
<a id="a0790cf80307306223364741d35f2fc10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0790cf80307306223364741d35f2fc10">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af174eb635bae2953ad834594167972f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af174eb635bae2953ad834594167972f4">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Times equals operator with another <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">otherPtxt</td><td>Right hand side of multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="a56bda6e45a7f413914cea175a4edcca6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56bda6e45a7f413914cea175a4edcca6">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Times equals operator with a scalar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be added across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post scalar multiplication. </dd></dl>

</div>
</div>
<a id="a883f9316ef38923f5b97b1059df64cf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a883f9316ef38923f5b97b1059df64cf6">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af6f617ad696129bf2f1c97f082875417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6f617ad696129bf2f1c97f082875417">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Times equals operator with a single <code>SlotType</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be multiplied across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="ab4c4b82672819e72a5eab6883cf54cae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4c4b82672819e72a5eab6883cf54cae">&#9670;&nbsp;</a></span>operator+()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; helib::Ptxt::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Infix addition operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rhs</td><td>Right hand side of addition. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Sum of the two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </dd></dl>

</div>
</div>
<a id="a381def7191670deedfdb21af7108f1ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a381def7191670deedfdb21af7108f1ed">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a2962844c9a07023f7de74bf954d6cc1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2962844c9a07023f7de74bf954d6cc1d">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Plus equals operator with another <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">otherPtxt</td><td>Right hand side of addition. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post addition. </dd></dl>

</div>
</div>
<a id="ab1db75c37d202538affad4865f6d60b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1db75c37d202538affad4865f6d60b0">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Plus equals operator with a scalar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be added across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post scalar addition. </dd></dl>

</div>
</div>
<a id="a849a63995389815a18242cf2c5e0b966"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a849a63995389815a18242cf2c5e0b966">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ac5b145f55caed90aca67b22a5abda9b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5b145f55caed90aca67b22a5abda9b7">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Plus equals operator with a single <code>SlotType</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be added across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post addition. </dd></dl>

</div>
</div>
<a id="adfe4b6cb41fcdabb88f2e6533c1829e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfe4b6cb41fcdabb88f2e6533c1829e2">&#9670;&nbsp;</a></span>operator-()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; helib::Ptxt::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Infix subtraction operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rhs</td><td>Right hand side of subtraction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Difference of the two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </dd></dl>

</div>
</div>
<a id="ab88e951a9ef47db99d507c6bc999f8e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab88e951a9ef47db99d507c6bc999f8e4">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab3f4f86d8be5982f163edda7b69e05a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3f4f86d8be5982f163edda7b69e05a6">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>otherPtxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minus equals operator with another <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">otherPtxt</td><td>Right hand side of subtraction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post subtraction. </dd></dl>

</div>
</div>
<a id="ac130b4ef05a3a3673b39f00ce31b2118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac130b4ef05a3a3673b39f00ce31b2118">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Minus equals operator with a scalar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be subtracted across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post scalar subtraction. </dd></dl>

</div>
</div>
<a id="aaab62c4effe962354b0d698bad62a3c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaab62c4effe962354b0d698bad62a3c5">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a0aea2308633c8fe6260b12a72278e83b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0aea2308633c8fe6260b12a72278e83b">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minus equals operator with a single <code>SlotType</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Element to be subtracted across all slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post subtraction. </dd></dl>

</div>
</div>
<a id="af20f43e81e6e83711e6a2f877c5d976e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af20f43e81e6e83711e6a2f877c5d976e">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy assignment operator with other <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to copy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2e4cb8d393da906329f6a591d399a346"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e4cb8d393da906329f6a591d399a346">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt;&amp; helib::Ptxt::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move assignment operator with other <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to copy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2bb2dbd5b558778d17658182ee05d4a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bb2dbd5b558778d17658182ee05d4a8">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ptxt::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Equals operator between two <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to compare to. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if identical, <code>false</code> otherwise. </dd></dl>

</div>
</div>
<a id="a237db676327d7353bee8852cd3a9416c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a237db676327d7353bee8852cd3a9416c">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;::<a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp; helib::Ptxt::operator[] </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Square bracket accessor operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Index of the desired <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> slot. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the data held at slot <code>i</code>. </dd></dl>

</div>
</div>
<a id="a1588b56eec0908e262b66315c76e740e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1588b56eec0908e262b66315c76e740e">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt;::<a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> helib::Ptxt::operator[] </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>const</code> square bracket accessor operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Index of the desired <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> slot. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Copy of the data held at slot <code>i</code>. </dd></dl>

</div>
</div>
<a id="ad669299fa7fed4a37bc8536a9d3dcf05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad669299fa7fed4a37bc8536a9d3dcf05">&#9670;&nbsp;</a></span>power()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::power </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power operation to raise a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> to an arbitrary non-negative power. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Exponent to raise the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> by. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post raising to the power e. </dd></dl>

</div>
</div>
<a id="a8e771f1be21da0f50d6df0a2a541e568"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e771f1be21da0f50d6df0a2a541e568">&#9670;&nbsp;</a></span>random()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::random </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Populate slots with random data. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post population. </dd></dl>

</div>
</div>
<a id="ae1a0c1d39f2077bede420a150d459e1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1a0c1d39f2077bede420a150d459e1d">&#9670;&nbsp;</a></span>real() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, std::enable_if_t&lt; std::is_same&lt; T, CKKS &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt;Scheme&gt; helib::Ptxt::real </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extract the real part of a <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a> plaintext. </p>
<dl class="section return"><dt>Returns</dt><dd>New plaintext containing the real part of each slot. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only valid for the <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> scheme. </dd></dl>

</div>
</div>
<a id="a99120d987129a9702a62563a44a7a4e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99120d987129a9702a62563a44a7a4e7">&#9670;&nbsp;</a></span>real() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt;::real </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad1459a4416bb38e0863e220e5cfe6ff9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1459a4416bb38e0863e220e5cfe6ff9">&#9670;&nbsp;</a></span>replicate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::replicate </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replicate single slot across all slots. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pos</td><td>Position of the slot to replicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post replication. </dd></dl>

</div>
</div>
<a id="a7f5ad875da05a1562e319f3943892c67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f5ad875da05a1562e319f3943892c67">&#9670;&nbsp;</a></span>replicateAll()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &gt; helib::Ptxt::replicateAll </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a vector of plaintexts with each slot replicated in each plaintext. </p>
<dl class="section return"><dt>Returns</dt><dd>Vector of replicated plaintext slots. The order of the return vector agrees with the order of the slots. i.e. the i-th plaintext in the return value is a replication of <code>*this[i]</code>. </dd></dl>

</div>
</div>
<a id="a9e87f1ffcfcd55fbfa04e0d8b68addb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e87f1ffcfcd55fbfa04e0d8b68addb8">&#9670;&nbsp;</a></span>rotate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::rotate </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>amount</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rotate slots right by specified amount (slot <code>i</code> goes to slot <code>i+1 mod size</code>). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">amount</td><td>Number of slots to rotate by. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post rotation. </dd></dl>

</div>
</div>
<a id="ae7933c3b8ff51f923a3bc95752a0fc2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7933c3b8ff51f923a3bc95752a0fc2c">&#9670;&nbsp;</a></span>rotate1D()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::rotate1D </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>dim</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>amount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rotate slots right by specified amount along a specific dimension. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dim</td><td>Dimension in which to rotate. </td></tr>
    <tr><td class="paramname">amount</td><td>Number of slots to rotate by. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post rotation. </dd></dl>

</div>
</div>
<a id="a479e27b3f9a7550a750acf6613c33b8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a479e27b3f9a7550a750acf6613c33b8d">&#9670;&nbsp;</a></span>runningSums()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::runningSums </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compute the running sum (each slot is the sum of the previous slots). </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post summation. </dd></dl>

</div>
</div>
<a id="a5ad3084da00defbdbd722b5a01667fca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ad3084da00defbdbd722b5a01667fca">&#9670;&nbsp;</a></span>setData() <span class="overload">[1/6]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classhelib_1_1_ptxt.html">helib::Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt;::setData </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a84591d6e8b595b82e67e5f5968638228"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84591d6e8b595b82e67e5f5968638228">&#9670;&nbsp;</a></span>setData() <span class="overload">[2/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T  = Scheme, typename std::enable_if_t&lt; std::is_same&lt; T, BGV &gt;::value &gt; *  = nullptr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::setData </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> data replicating the input polynomial on all slots. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Polynomial to be replicate into slots. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Only works in the <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> case. </dd></dl>

</div>
</div>
<a id="a8b26b666eafe75f2226e25f602c21ac4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b26b666eafe75f2226e25f602c21ac4">&#9670;&nbsp;</a></span>setData() <span class="overload">[3/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::setData </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1ff66432c893d5af08e11151d532ab6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ff66432c893d5af08e11151d532ab6c">&#9670;&nbsp;</a></span>setData() <span class="overload">[4/6]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::setData </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the data replicating the input on all slots. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td><code>value</code> to set all slots to. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a03a54eee2351575158ec51e1c334587c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03a54eee2351575158ec51e1c334587c">&#9670;&nbsp;</a></span>setData() <span class="overload">[5/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::setData </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1ac29a900263dbba14e9a48e651b9159"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ac29a900263dbba14e9a48e651b9159">&#9670;&nbsp;</a></span>setData() <span class="overload">[6/6]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ptxt::setData </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classhelib_1_1_ptxt.html#a208b1ed55bce96f126191cb7a39b92e7">SlotType</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Vector of <code>SlotType</code> to populate the slots. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afa812aae90f9454920a1033fc0790dfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa812aae90f9454920a1033fc0790dfd">&#9670;&nbsp;</a></span>shift()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::shift </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>amount</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shifts slots right by specified amount with <code>0</code> fill (slot <code>i</code> goes to slot <code>i+1 mod size</code>). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">amount</td><td>Number of slots to shift by. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post shift. </dd></dl>

</div>
</div>
<a id="a73bfcf600de1d55cd66281428396a6ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73bfcf600de1d55cd66281428396a6ec">&#9670;&nbsp;</a></span>shift1D()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::shift1D </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>dim</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>amount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shift slots right in one dimension of the hypercube structure with <code>0</code> fill. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dim</td><td>Dimension in which to shift. </td></tr>
    <tr><td class="paramname">amount</td><td>Amount by which to shift. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post shift. </dd></dl>

</div>
</div>
<a id="a892c7c40f3029f29b4ed0bbd633301d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a892c7c40f3029f29b4ed0bbd633301d8">&#9670;&nbsp;</a></span>size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t helib::Ptxt::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the size (number of slots) of a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of slots of the <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </dd></dl>

</div>
</div>
<a id="a594ce012fe4bf3ac5d45dc95609c7e4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a594ce012fe4bf3ac5d45dc95609c7e4d">&#9670;&nbsp;</a></span>square()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::square </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Square operation on a <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post squaring. </dd></dl>

</div>
</div>
<a id="a1587b07072208696849f02a3b40892e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1587b07072208696849f02a3b40892e8">&#9670;&nbsp;</a></span>totalProduct()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::totalProduct </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compute the total product (each slot contains the total product of every slot). </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="a34fe386648aff89c3bf201d0f1ea1e5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34fe386648aff89c3bf201d0f1ea1e5b">&#9670;&nbsp;</a></span>totalSums()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp; helib::Ptxt::totalSums </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compute the total sum (each slot contains the total sum of every slot). </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post summation. </dd></dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a60ac433549405b9bfa8ec16ba7abbe6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60ac433549405b9bfa8ec16ba7abbe6d">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Output shift operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Output <code>std::ostream</code>. </td></tr>
    <tr><td class="paramname">ptxt</td><td><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object to be written. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Input <code>std::ostream</code> post writing. </dd></dl>
<dl class="section note"><dt>Note</dt><dd><code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> <code>context</code> is not serialised, see note of <code>operator&gt;&gt;</code>. </dd></dl>

</div>
</div>
<a id="a11f7e4e965acab1f6db834797ae165f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11f7e4e965acab1f6db834797ae165f2">&#9670;&nbsp;</a></span>operator&gt;&gt;</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::istream&amp; operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>is</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Input shift operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">is</td><td>Input <code>std::istream</code>. </td></tr>
    <tr><td class="paramname">ptxt</td><td>Destination <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Input <code>std::istream</code> post reading. </dd></dl>
<dl class="section note"><dt>Note</dt><dd><code>ptxt</code> must be constructed with an appropriate context <b>BEFORE</b> calling this function. For example, <div class="fragment"><div class="line"><a class="code" href="classhelib_1_1_ptxt.html#ab38174daa0112a946ccbd93b599b3a4f">Ptxt</a> my_ptxt(context);</div>
<div class="line">std::cin &gt;&gt; my_ptxt;</div>
</div><!-- fragment --> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/HElib/include/helib/<a class="el" href="_ctxt_8h_source.html">Ctxt.h</a></li>
<li>/HElib/include/helib/<a class="el" href="_ptxt_8h_source.html">Ptxt.h</a></li>
<li>/HElib/src/<a class="el" href="_ptxt_8cpp.html">Ptxt.cpp</a></li>
</ul>
</div><!-- contents -->
<div class="ttc" id="aclasshelib_1_1_ptxt_html"><div class="ttname"><a href="classhelib_1_1_ptxt.html">helib::Ptxt</a></div><div class="ttdoc">An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...</div><div class="ttdef"><b>Definition:</b> Ctxt.h:66</div></div>
<div class="ttc" id="aclasshelib_1_1_ptxt_html_ab38174daa0112a946ccbd93b599b3a4f"><div class="ttname"><a href="classhelib_1_1_ptxt.html#ab38174daa0112a946ccbd93b599b3a4f">helib::Ptxt::Ptxt</a></div><div class="ttdeci">Ptxt()</div><div class="ttdoc">Default constructor results in invalid Ptxt object which throws if used.</div></div>
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
        <script type="text/javascript" src="doxy-boot.js"></script>
</html>
